package com.punai.dataanalysis.epdatakb.domain;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.punai.common.utils.NumberUtil;
import com.punai.dataanalysis.ng001.domain.ProjectTable;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.punai.common.annotation.Excel;
import com.punai.common.core.domain.BaseEntity;

/**
 * 成本绩效考核对象 data_analysis_cbjxkh
 *
 * @author zxw_
 * @date 2023-04-20
 */
public class DataAnalysisCbjxkh extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String id;
    /** 序号 */
    @Excel(name = "序号")
    private String xh;
    /** 合同受控号 */
    @Excel(name = "合同受控号")
    private String htContrNo;
    /** 建设单位 */
    @Excel(name = "建设单位")
    private String jsdw;
    /** 工程名称 */
    @Excel(name = "工程名称")
    private String proName;
    /** 合同名称 */
    @Excel(name = "合同名称")
    private String htName;
    /** 合同价款/元 */
    @Excel(name = "合同价款/元")
    private BigDecimal htTotal;
    /** 建筑面积/㎡ */
    @Excel(name = "建筑面积/㎡")
    private BigDecimal jzmj;
    /** 区域/省、市、县区 */
    @Excel(name = "区域/省、市、县区")
    private String address;
    /** 工程个数 */
    @Excel(name = "工程个数")
    private Long proNumber;
    /** 状态 / 在建1、竣工2、结算3、迟缓4、停工5 */
    @Excel(name = "状态 / 在建1、竣工2、结算3、迟缓4、停工5")
    private String proStatus;
    /** 项目部 */
    @Excel(name = "项目部")
    private String proDept;
    /** 项目经理 */
    @Excel(name = "项目经理")
    private String proXmjl;
    /** 施工图开工预算情况-预算/不含税、不含甲供材 */
    @Excel(name = "施工图开工预算情况-预算/不含税、不含甲供材")
    private BigDecimal sgtYs;
    /** 施工图开工预算情况-甲供材 */
    @Excel(name = "施工图开工预算情况-甲供材")
    private BigDecimal sgtJgc;
    /** 总完工程度/% */
    @Excel(name = "总完工程度/%")
    private BigDecimal wgcd;

    private BigDecimal qnYsHj;
    private BigDecimal qnYsSj;
    private BigDecimal qnYsJgc;
    private BigDecimal qnCbHj;
    private BigDecimal qnCbJgc;
    private BigDecimal qnLr;
    private BigDecimal qnLrl;

    private BigDecimal nzYsHj;
    private BigDecimal nzYsSj;
    private BigDecimal nzYsJgc;
    private BigDecimal nzCbHj;
    private BigDecimal nzCbJgc;


    /** 本年产值-预算/不含税、不含甲供材 */
    @Excel(name = "本年产值-预算/不含税、不含甲供材")
    private BigDecimal currYearCzYs;
    /** 本年产值-甲供材 */
    @Excel(name = "本年产值-甲供材")
    private BigDecimal currYearCzJgc;
    /** 本年产值-税金 */
    @Excel(name = "本年产值-税金")
    private BigDecimal currYearCzSj;
    /** 本年产值-小计/元 */
    @Excel(name = "本年产值-小计/元")
    private BigDecimal currYearCzXj;
    /** 本年成本-成本/不含税、不含甲供材 */
    @Excel(name = "本年成本-成本/不含税、不含甲供材")
    private BigDecimal currYearCb;
    /** 本年成本-甲供材 */
    @Excel(name = "本年成本-甲供材")
    private BigDecimal currYearCbJgc;
    /** 本年工程利润-本年利润/元 */
    @Excel(name = "本年工程利润-本年利润/元")
    private BigDecimal currYearGclr;
    /** 本年工程利润-利润率/% */
    @Excel(name = "本年工程利润-利润率/%")
    private BigDecimal currYearGclrl;
    /** 累计工程利润-工程利润/元 */
    @Excel(name = "累计工程利润-工程利润/元")
    private BigDecimal klGclr;
    /** 累计工程利润-工程利润率/% */
    @Excel(name = "累计工程利润-工程利润率/%")
    private BigDecimal klGclrl;
    /** 非正常成本增加-金额/元 */
    @Excel(name = "非正常成本增加-金额/元")
    private BigDecimal fzcCbZjPrice;
    /** 非正常成本增加-占预算累计百分率/% */
    @Excel(name = "非正常成本增加-占预算累计百分率/%")
    private BigDecimal fzcCbZjZb;
    /** 上级ID */
    @Excel(name = "上级ID")
    private String pid;

    @TableField(exist = false)
    private String zy;

    @TableField(exist = false)
    private String pc;

    /**
     * 合并行
     */
    @TableField(exist = false)
    private boolean hb = false;
    public void hb() {
        this.hb = true;
    }
    public static DataAnalysisCbjxkh conversion(DataAnalysisCbjxkh dataAnalysisCbjxkh, ProjectTable projectTable) {
        if(dataAnalysisCbjxkh == null) dataAnalysisCbjxkh = new DataAnalysisCbjxkh();

        dataAnalysisCbjxkh.setHtContrNo(projectTable.getUserSkh());
        dataAnalysisCbjxkh.setJsdw(projectTable.getCompname());
        dataAnalysisCbjxkh.setProName(projectTable.getProjectName());
        dataAnalysisCbjxkh.setHtName(projectTable.getProjectNamep());
        dataAnalysisCbjxkh.setHtTotal(NumberUtil.getValue(projectTable.getCntAmtFc()));
        dataAnalysisCbjxkh.setJzmj(NumberUtil.getValue(projectTable.getUserJzmj()));
        dataAnalysisCbjxkh.setProStatus(projectTable.getDescript());
        dataAnalysisCbjxkh.setProDept(projectTable.getOname());
        dataAnalysisCbjxkh.setProXmjl(projectTable.getCname());
        dataAnalysisCbjxkh.setZy(projectTable.getTypeName());
        return dataAnalysisCbjxkh;


    }

    public String getPc() {
        return pc;
    }

    public void setPc(String pc) {
        this.pc = pc;
    }

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId()
    {
        return id;
    }
    public void setXh(String xh)
    {
        this.xh = xh;
    }

    public String getXh()
    {
        return xh;
    }
    public void setHtContrNo(String htContrNo)
    {
        this.htContrNo = htContrNo;
    }

    public String getHtContrNo()
    {
        return htContrNo;
    }
    public void setJsdw(String jsdw)
    {
        this.jsdw = jsdw;
    }

    public String getJsdw()
    {
        return jsdw;
    }
    public void setProName(String proName)
    {
        this.proName = proName;
    }

    public String getProName()
    {
        return proName;
    }
    public void setHtName(String htName)
    {
        this.htName = htName;
    }

    public String getHtName()
    {
        return htName;
    }
    public void setHtTotal(BigDecimal htTotal)
    {
        this.htTotal = htTotal;
    }

    public BigDecimal getHtTotal()
    {
        return htTotal;
    }
    public void setJzmj(BigDecimal jzmj)
    {
        this.jzmj = jzmj;
    }

    public BigDecimal getJzmj()
    {
        return jzmj;
    }
    public void setAddress(String address)
    {
        this.address = address;
    }

    public String getAddress()
    {
        return address;
    }
    public void setProNumber(Long proNumber)
    {
        this.proNumber = proNumber;
    }

    public Long getProNumber()
    {
        return proNumber;
    }

    public String getProStatus() {
        return proStatus;
    }

    public void setProStatus(String proStatus) {
        this.proStatus = proStatus;
    }

    public void setProDept(String proDept)
    {
        this.proDept = proDept;
    }

    public String getProDept()
    {
        return proDept;
    }
    public void setProXmjl(String proXmjl)
    {
        this.proXmjl = proXmjl;
    }

    public String getProXmjl()
    {
        return proXmjl;
    }
    public void setSgtYs(BigDecimal sgtYs)
    {
        this.sgtYs = sgtYs;
    }

    public BigDecimal getSgtYs()
    {
        return sgtYs;
    }
    public void setSgtJgc(BigDecimal sgtJgc)
    {
        this.sgtJgc = sgtJgc;
    }

    public BigDecimal getSgtJgc()
    {
        return sgtJgc;
    }
    public void setWgcd(BigDecimal wgcd)
    {
        this.wgcd = wgcd;
    }

    public BigDecimal getWgcd()
    {
        return wgcd;
    }
    public void setCurrYearCzYs(BigDecimal currYearCzYs)
    {
        this.currYearCzYs = currYearCzYs;
    }

    public BigDecimal getCurrYearCzYs()
    {
        return currYearCzYs;
    }
    public void setCurrYearCzJgc(BigDecimal currYearCzJgc)
    {
        this.currYearCzJgc = currYearCzJgc;
    }

    public BigDecimal getCurrYearCzJgc()
    {
        return currYearCzJgc;
    }
    public void setCurrYearCzSj(BigDecimal currYearCzSj)
    {
        this.currYearCzSj = currYearCzSj;
    }

    public BigDecimal getCurrYearCzSj()
    {
        return currYearCzSj;
    }
    public void setCurrYearCzXj(BigDecimal currYearCzXj)
    {
        this.currYearCzXj = currYearCzXj;
    }

    public BigDecimal getCurrYearCzXj()
    {
        return currYearCzXj;
    }
    public void setCurrYearCb(BigDecimal currYearCb)
    {
        this.currYearCb = currYearCb;
    }

    public BigDecimal getCurrYearCb()
    {
        return currYearCb;
    }
    public void setCurrYearCbJgc(BigDecimal currYearCbJgc)
    {
        this.currYearCbJgc = currYearCbJgc;
    }

    public BigDecimal getCurrYearCbJgc()
    {
        return currYearCbJgc;
    }
    public void setCurrYearGclr(BigDecimal currYearGclr)
    {
        this.currYearGclr = currYearGclr;
    }

    public BigDecimal getCurrYearGclr()
    {
        return currYearGclr;
    }
    public void setCurrYearGclrl(BigDecimal currYearGclrl)
    {
        this.currYearGclrl = currYearGclrl;
    }

    public BigDecimal getCurrYearGclrl()
    {
        return currYearGclrl;
    }
    public void setKlGclr(BigDecimal klGclr)
    {
        this.klGclr = klGclr;
    }

    public BigDecimal getKlGclr()
    {
        return klGclr;
    }
    public void setKlGclrl(BigDecimal klGclrl)
    {
        this.klGclrl = klGclrl;
    }

    public BigDecimal getKlGclrl()
    {
        return klGclrl;
    }
    public void setFzcCbZjPrice(BigDecimal fzcCbZjPrice)
    {
        this.fzcCbZjPrice = fzcCbZjPrice;
    }

    public BigDecimal getFzcCbZjPrice()
    {
        return fzcCbZjPrice;
    }
    public void setFzcCbZjZb(BigDecimal fzcCbZjZb)
    {
        this.fzcCbZjZb = fzcCbZjZb;
    }

    public BigDecimal getFzcCbZjZb()
    {
        return fzcCbZjZb;
    }
    public void setPid(String pid)
    {
        this.pid = pid;
    }

    public String getPid()
    {
        return pid;
    }

    public BigDecimal getQnYsHj() {
        return qnYsHj;
    }

    public void setQnYsHj(BigDecimal qnYsHj) {
        this.qnYsHj = qnYsHj;
    }

    public BigDecimal getQnYsSj() {
        return qnYsSj;
    }

    public void setQnYsSj(BigDecimal qnYsSj) {
        this.qnYsSj = qnYsSj;
    }

    public BigDecimal getQnYsJgc() {
        return qnYsJgc;
    }

    public void setQnYsJgc(BigDecimal qnYsJgc) {
        this.qnYsJgc = qnYsJgc;
    }

    public BigDecimal getQnCbHj() {
        return qnCbHj;
    }

    public void setQnCbHj(BigDecimal qnCbHj) {
        this.qnCbHj = qnCbHj;
    }

    public BigDecimal getQnCbJgc() {
        return qnCbJgc;
    }

    public void setQnCbJgc(BigDecimal qnCbJgc) {
        this.qnCbJgc = qnCbJgc;
    }

    public BigDecimal getQnLr() {
        return qnLr;
    }

    public void setQnLr(BigDecimal qnLr) {
        this.qnLr = qnLr;
    }

    public BigDecimal getQnLrl() {
        return qnLrl;
    }

    public void setQnLrl(BigDecimal qnLrl) {
        this.qnLrl = qnLrl;
    }

    public BigDecimal getNzYsHj() {
        return nzYsHj;
    }

    public void setNzYsHj(BigDecimal nzYsHj) {
        this.nzYsHj = nzYsHj;
    }

    public BigDecimal getNzYsSj() {
        return nzYsSj;
    }

    public void setNzYsSj(BigDecimal nzYsSj) {
        this.nzYsSj = nzYsSj;
    }

    public BigDecimal getNzYsJgc() {
        return nzYsJgc;
    }

    public void setNzYsJgc(BigDecimal nzYsJgc) {
        this.nzYsJgc = nzYsJgc;
    }

    public BigDecimal getNzCbHj() {
        return nzCbHj;
    }

    public void setNzCbHj(BigDecimal nzCbHj) {
        this.nzCbHj = nzCbHj;
    }

    public BigDecimal getNzCbJgc() {
        return nzCbJgc;
    }

    public void setNzCbJgc(BigDecimal nzCbJgc) {
        this.nzCbJgc = nzCbJgc;
    }

    public String getZy() {
        return zy;
    }

    public void setZy(String zy) {
        this.zy = zy;
    }

    public boolean isHb() {
        return hb;
    }

    public void setHb(boolean hb) {
        this.hb = hb;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("xh", getXh())
            .append("htContrNo", getHtContrNo())
            .append("jsdw", getJsdw())
            .append("proName", getProName())
            .append("htName", getHtName())
            .append("htTotal", getHtTotal())
            .append("jzmj", getJzmj())
            .append("address", getAddress())
            .append("proNumber", getProNumber())
            .append("proStatus", getProStatus())
            .append("proDept", getProDept())
            .append("proXmjl", getProXmjl())
            .append("sgtYs", getSgtYs())
            .append("sgtJgc", getSgtJgc())
            .append("wgcd", getWgcd())
            .append("currYearCzYs", getCurrYearCzYs())
            .append("currYearCzJgc", getCurrYearCzJgc())
            .append("currYearCzSj", getCurrYearCzSj())
            .append("currYearCzXj", getCurrYearCzXj())
            .append("currYearCb", getCurrYearCb())
            .append("currYearCbJgc", getCurrYearCbJgc())
            .append("currYearGclr", getCurrYearGclr())
            .append("currYearGclrl", getCurrYearGclrl())
            .append("klGclr", getKlGclr())
            .append("klGclrl", getKlGclrl())
            .append("fzcCbZjPrice", getFzcCbZjPrice())
            .append("fzcCbZjZb", getFzcCbZjZb())
            .append("createBy", getCreateBy())
            .append("updateBy", getUpdateBy())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("pid", getPid())
        .toString();
    }
}
